package main

import (
	"fmt"
)

//switch
func main() {
	fmt.Println("examp10")
	var i int = 5
	//1
	switch { //不写条件的，case里需要写成条件形式
	case i == 5:
		fmt.Println("==", i) //只执行到这
	case i >= 5:
		fmt.Println(">=", i)
	}
	//2
	switch i { //
	case 5:
		fmt.Println("case 5", i) //只执行到这
	case 6:
		fmt.Println("case 6", i)
	}
	//3
	switch i { //多条件
	case 5, 6, 7: //符合任意值
		fmt.Println("多条件", i) //只执行到这
	//case 5:但是不可以这样,连续的像java一样使用
	case 8:
		fmt.Println("case 6", i)
	}
	//4
	switch i := 10; { //定义变量接收值，需要使用分号
	case i > 4:
		fmt.Println("i>4", i)
		fallthrough //使用fallthrough继续执行下一个
	case i > 3:
		fmt.Println("i>3 这里也执行了", i)
	case i > 5: //上面的case 没使用fallthrough 这里就不会执行了
		fmt.Println("i>5", i)
	}
}
